POV-Ray : Newsgroups : povray.beta-test : Isosurfaces *much* slower in beta 7? : Re: Isosurfaces *much* slower in beta 7? Server Time
30 Jul 2024 16:19:46 EDT (-0400)
  Re: Isosurfaces *much* slower in beta 7?  
From: Warp
Date: 31 Oct 2001 10:23:06
Message: <3be0175a@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> wrote:
: * Warp: Do a sync (get change 1235) to try it.

  Ok, I did it, and there clearly is a difference.
  I tested with this small example:

#include "functions.inc"

camera { location -z*5 look_at 0 angle 35 }
light_source { <100,200,-300>, 1 }

isosurface
{ function { x^2+y^2+z^2-(1-.2*f_noise3d(x*8,y*8,z*8)) }
  contained_by { sphere { 0,1 } }
  max_gradient 2
  evaluate 1,10,.99
  pigment { rgb x } finish { specular .5 }
}


  The older version (ie. beta7) rendered that in 1 min 30 seconds in this
computer. The report was a bit odd:

Warning: The maximum gradient found was 3.555, but max_gradient of
the isosurface was set to 310.201. Adjust max_gradient to
get a faster rendering of the isosurface.

  The newer version renders the example above in 13 seconds, which is a clear
improvement.

Warning: The maximum gradient found was 3.477, but max_gradient of the
isosurface was set to 2.000. The isosurface may contain holes!
Adjust max_gradient to get a proper rendering of the isosurface.

  The max_gradient value of 3.477 seems to be correct. When I set max_gradient
to that, the isosurface renders ok.

  It seems that now 'evaluate' doesn't actually change the max_gradient, but
just calculates the correct one and reports it. The example above renders
equally whether or not the 'evaluate' is there.
  This behaviour seems logical to me.

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.